REM ---- Siziteration -------------------------------- rem REM f(z)=c*sin(z), c=a+i*b rem rem 初期値を与えての反復計算 REM 初期値を与えないときは,z=π/2 が初期値 REM nl<= n <=nu の範囲の数列をプリント REM |f(z)|>10^6 で発散とみなす。 REM------------------------------- 5.26 '17, Joe ------- rem PRINT"初期値を与えて Zn+1=C*sin(Zn) の反復を計算" INPUT PROMPT"C=a+i*b をinputせよ,a,b=":a,b line input prompt"初期値をあたえるか? y/n?":fa$ if fa$="N" or fa$="n" then goto 10 input prompt"x0,y0=":x0,y0 goto 20 10 LET x0=3.14159265358979/2 LET y0=0 20 LET r=1.E+6 print"表示する数列の最小と最大の n をinputせよ" input prompt"nl,nu=":nl,nu rem rem 計算 rem for n=1 to nu LET x1=a*SIN(x0)*(EXP(y0)+EXP(-y0))/2-b*COS(x0)*(EXP(y0)-EXP(-y0))/2 LET y1=a*COS(x0)*(EXP(y0)-EXP(-y0))/2+b*SIN(x0)*(EXP(y0)+EXP(-y0))/2 LET d=SQR(x1*x1+y1*y1) if nl<=n and n<=nu then goto 30 else goto 35 30 print n;")";x1;" , ";y1 35 IF d>r THEN GOTO 40 ELSE GOTO 45 40 print"発散です d=";d;" n=";n goto 100 45 LET x0=x1 LET y0=y1 next n rem 100 END